//package com.dlz.systemshop.config;
//
//
//import com.dlz.systemshop.pojo.APIResponse;
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.core.MethodParameter;
//import org.springframework.http.MediaType;
//import org.springframework.http.server.ServerHttpRequest;
//import org.springframework.http.server.ServerHttpResponse;
//import org.springframework.web.bind.annotation.RestControllerAdvice;
//import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
//
//
//// 统一接口返回
//@Slf4j
//@RestControllerAdvice
//public class ResponseAdvice implements ResponseBodyAdvice {
//
//    @Autowired
//    private ObjectMapper mapper;
//
//
//    @Override
//    public boolean supports(MethodParameter returnType, Class converterType) {
//
//        return true;
//    }
//
//    @Override
//    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
//        if (body instanceof String) {
//            try {
//                return mapper.writeValueAsString(APIResponse.success(body));
//            } catch (JsonProcessingException e) {
//                throw new RuntimeException(e);
//            }
//
//        } else if (body instanceof APIResponse<?>) {
//            return body;
//        }
//        // 默认放回成功
//        return APIResponse.success(body);
//    }
//}
